html,
body {
  padding: 0;
  margin: 0;
  background-color: black;
  font-family: Arial, Helvetica, sans-serif;
}

#remote-video-stream.inline {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#remote-video-stream.collapsed {
  position: absolute;
  width: 20%;
  max-width: 20%;
  height: 15.03vw;
  object-fit: cover;
  margin: 16px;
  border-radius: 16px;
  bottom: 80px;
  right: 0;
}

#remote-video-stream.collapsed-pip {
  position: absolute;
  max-width: 30%;
  max-height: 30%;
  object-fit: cover;
  margin: 8px;
  border-radius: 8px;
  bottom: 0;
  right: 0;
}

#remote-screen-video-stream.inline {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#local-video-stream.inline {
  background-color: black;
  position: absolute;
  width: 20%;
  max-width: 20%;
  height: 15.03vw;
  object-fit: cover;
  margin: 16px;
  border-radius: 16px;
  top: 0;
  right: 0;
}

#local-screen-video-stream.inline {
  position: absolute;
  width: 20%;
  max-width: 20%;
  object-fit: cover;
  margin: 16px;
  border-radius: 16px;
  top: 33%;
  right: 0;
}

#remote-video-stream.fullscreen {
  position: absolute;
  height: 100%;
  width: 100%;
  object-fit: cover;
}

#remote-screen-video-stream.fullscreen {
  position: absolute;
  height: 100%;
  width: 100%;
  object-fit: cover;
}

#local-video-stream.fullscreen {
  position: absolute;
  height: 100%;
  width: 100%;
  object-fit: cover;
}

#local-screen-video-stream.fullscreen {
  position: absolute;
  height: 100%;
  width: 100%;
  object-fit: cover;
}

*::-webkit-media-controls {
  display: none !important;
  -webkit-appearance: none !important;
}
*::-webkit-media-controls-panel {
  display: none !important;
  -webkit-appearance: none !important;
}
*::-webkit-media-controls-play-button {
  display: none !important;
  -webkit-appearance: none !important;
}
*::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none !important;
}

#manage-call {
  position: absolute;
  width: fit-content;
  bottom: 15px;
  left: 50%;
  transform: translate(-50%, 0);
  display: grid;
  grid-auto-flow: column;
  grid-column-gap: 38px;
}

#manage-call button {
  border: none;
  cursor: pointer;
  appearance: none;
  background-color: #ffffff33;
  border-radius: 50%;
  padding: 13px;
  width: 61px;
  height: 61px;
}

#manage-call img {
  width: 35px;
  height: 35px;
}

#manage-call button .video {
  background: #00000033;
}

#progress {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -52px;
  margin-top: -52px;
  border-radius: 50%;
  border-top: 5px solid white;
  border-right: 5px solid white;
  border-bottom: 5px solid white;
  border-left: 5px solid black;
  width: 100px;
  height: 100px;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}

#permission-denied {
  position: absolute;
  width: 100%;
  text-align: center;
  height: 100%;
  align-content: center;
  color: white;
}

#permission-denied-title {
  font-weight: bold;
}

#permission-denied-desc {
  font-style: italic;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

#info-block {
  position: absolute;
  color: white;
  opacity: 0.8;
  width: 200px;
}

#info-block.audio {
  text-align: center;
  left: 50%;
  top: 50%;
  margin-left: -100px;
  margin-top: 100px;
}

#info-block.video {
  left: 16px;
  top: 2px;
}

#audio-call-icon {
  position: absolute;
  display: none;
  left: 50%;
  top: 50%;
  margin-left: -50px;
  margin-top: -44px;
  width: 100px;
  height: 100px;
}
